package com.fulihui.wgj.facade.service.subdetail;

import com.fulihui.common.error.InvokeServiceException;
import com.fulihui.common.result.rpc.BaseResult;
import com.fulihui.common.result.rpc.SimpleResult;
import com.fulihui.wgj.facade.dto.WxSubUserDetailDTO;
import com.fulihui.wgj.facade.request.subscribe.WxSubUserDetailRequest;
import com.fulihui.wgj.facade.request.subscribe.WxSubUserDetailUpdateRequest;

/**
 * 用户关注详情Service
 *
 * @author wang_wx
 * @date 2018-07-04
 */
public interface WxSubUserDetailService {

    /**
     * 根据appId和openid查询
     *
     * @param appId
     * @param openid
     * @return
     */
    SimpleResult<WxSubUserDetailDTO> queryByAppIdAndOpenid(String appId, String openid);

    /**
     * 保存
     *
     * @param request
     * @return
     * @throws InvokeServiceException
     */
    BaseResult saveWxSubUserDetail(WxSubUserDetailRequest request) throws InvokeServiceException;


    /**
     * 根据主键更新
     *
     * @param request
     * @return
     * @throws InvokeServiceException
     */
    BaseResult updateDetailById(WxSubUserDetailUpdateRequest request) throws InvokeServiceException;
}
